//
//  ZKVisitorTableViewController.swift
//  Weibo
//
//  Created by 郑克哥哥 on 2017/7/23.
//  Copyright © 2017年 郑克哥哥. All rights reserved.
//

import UIKit
//访客视图控制器
class ZKVisitorTableViewController: UITableViewController,ZKVisitorViewDelegate {
    
    
    //是否登录的标记
    var islogin: Bool = ZKUserAccount.sharedViewModel.isLogin
    

    //访客视图
    var visitorView: ZKVisitorView?
    
    
    
    //重写loadView的目的就是自定义控制器的视图
    override func loadView() {
        
        if islogin{
            
            super.loadView()
        
        }else{
            
            //自定义访客视图
            visitorView = ZKVisitorView()
            //设置代理对象
            visitorView?.delegate = self
            //visitorView.backgroundColor = UIColor.yellow
            
            //设置点击登录或注册执行的闭包,注意循环引用
            visitorView?.loginCallBack = { [unowned self] in
                
                print(self)
                
                print("点击登录或注册执行的闭包回调")
                self.returnLogin()
                
                
            }
           
            //自定义控制器视图
            view = visitorView
            setupNavUI()
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        
        
        
    }
    
    //MARK: -------设置导航栏按钮-------
    private func setupNavUI(){
        
        
        //使用扩展
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "注册", target: self, action: #selector(registerAction))
        
        navigationItem.rightBarButtonItem = UIBarButtonItem(title: "登录", target: self, action: #selector(loginAction))
        
        
    }
    
    
    //MARK: -------导航栏点击事件-------
    @objc private func registerAction(){
        
        print("注册")
        returnLogin()
    }
    
    @objc private func loginAction(){
        
        print("登录")
        returnLogin()
    }

    //实现代理登录方法
    func loginOperation() {
        
        print("点击登录或注册执行回调的代理方法")
    }
    
    //进入登录界面
    private func returnLogin(){
        
        let oauthVC = ZKOAuthViewController()
        
        let nav = ZKNavgationController(rootViewController: oauthVC)
        
        self.present(nav, animated: true, completion: nil)
        
        
    }
   

}


